// 构造百万级数据 插入200万条数据

// 生成随机数
function GetRandomNum(min, max) {
    let range = max - min; // 得到随机数区间
    let rand = Math.random(); // 得到随机值
    return (min + Math.round(rand * range)); //最小值+随机数取整
}
// console.log(GetRandomNum(10000,99999));

//生成随机用户名
function GetRandomUserName(min, max) {
    let tempStringArray = "123456789qwertyuiopasdfghjklzxcvbnm".split(""); //构造生成时的字母库数组
    let outPuttext = ""; //最后输出的变量
    //进行循环，随机生产用户名的长度，这里需要随机数方法的配合
    for (let i = 0; i < GetRandomNum(min, max); i++) {
        //随机抽取字母，拼装成需要的用户名
        outPuttext = outPuttext + tempStringArray[GetRandomNum(0, tempStringArray.length)]
    }
    return outPuttext;
}
// console.log(GetRandomUserName(7, 16)); 

var startTime=(new Date()).getTime();
var db = connect('company');
// 删除整个集合
db.randomInfo.drop();
var tempInfo = [];
// 电脑性能不算很好，这里插入10万条数据测试看看
for (let i = 0; i < 2000000; i++) {
    tempInfo.push({
        username: GetRandomUserName(7, 16),
        regeditTime: new Date(),
        randNum0: GetRandomNum(100000, 999999),
        randNum1: GetRandomNum(100000, 999999),
        randNum2: GetRandomNum(100000, 999999),
        randNum3: GetRandomNum(100000, 999999),
        randNum4: GetRandomNum(100000, 999999),
        randNum5: GetRandomNum(100000, 999999),
        randNum6: GetRandomNum(100000, 999999),
        randNum7: GetRandomNum(100000, 999999),
        randNum8: GetRandomNum(100000, 999999),
        randNum8: GetRandomNum(100000, 999999),
    })
}
//向集合中插入数据
db.randomInfo.insert(tempInfo);
var endTime = (new Date()).getTime() - startTime;
print("[demo]: ----- " + endTime + "ms");